Some of the computer systems used today include a plurality of computers that are hierarchically organized to share the processing workload. Computer systems of this type are called “multi-tier systems.” A known example of such multi-tier systems is a three-tier system that is formed from a web server to provide user interfaces, an application server to execute transactions, and a database server to manage datasets. Those servers work together to execute processing requests received from users and return the results back to the requesting users. In this way, a multi-tier system allots a given work to a plurality of servers, thus providing an improved reliability and responsiveness.
Improvement of responsiveness may also be achieved by enhancing the operating efficiency of individual servers constituting the multi-tier system. For example, a proposed design of a database server system is directed to efficient usage of limited database resources to provide service to a larger number of users. See, for example, Japanese Laid-open Patent Publication No. 2001-229058.
When a multi-tier system has a massive workload, a server in a particular tier of the system may approach its performance limit. In other words, the increased workload drives the server toward performance saturation. Such condition of a server is detected by observing the response time of jobs executed on the server. For example, an average response time of a server is monitored at unit time intervals. If an extreme increase is observed during a certain period, it means that the server is saturated in that period. The length of time intervals at which average response time is analyzed is referred to herein as “time granularity.” A fine time granularity means a minute interval of analysis.
The above-noted response time analysis may sometimes suggest different results, depending on the time granularity used. Even when no saturation is found by an analysis with a coarse time granularity, another analysis performed with a fine time granularity may suggest partial saturation. Suppose, for example, that the average usage ratio of central processing unit (CPU) is observed to be 80% when the calculation is performed at intervals of 1 second. However, by changing the interval to 0.1 seconds, the analysis may find that the CPU usage ratio actually hits 100% at some particular moments.
As described above, instantaneous performance saturation is only observable with fine time granularities. When this type of saturation occurs to a low-tier server in a multi-tier system, its effect spreads over the other tiers and thus results in a wild fluctuation of average response time of the system as a whole. Under such situations, some end users would experience a perceived delay of response from the system if their job processing requests happened to meet performance saturation of servers. This kind of user experience is not desirable even though it occurs only to a limited number of users.